<!DOCTYPE html>
<html>
<title>Event handlers in isolated worlds for user gesture generated events should should the same permissions as handlers within the page</title>
<script>

// This test is meaningless without a testRunner.
if (window.testRunner && window.eventSender) {

    testRunner.setPopupBlockingEnabled(false);
    testRunner.waitUntilDone();
    testRunner.dumpAsText();

    function newTest(title)
    {
        document.getElementById("log").innerHTML += "<br>" + title + ": ";
    }

    function pass()
    {
        document.getElementById("log").innerHTML += "PASS\n";
        testRunner.notifyDone();
    }

    // (This function is run within an isolated world)
    function userGestureEventListener()
    {
        // Register an event handler that will try to perform an action that can only be initiated by a user gesture (opening a window).
        document.getElementById("button1").onclick = function()
        {
            window.open("resources/userGestureEvents-second-window.html", "resources/userGestureEvents-second-window.html");
        }
    }

    function runTestInWorld(worldId, funcName)
    {
        testRunner.evaluateScriptInIsolatedWorld(worldId, String(eval(funcName)) + "\n" + funcName + "();");
    }

    function runTest() 
    {
        newTest("Event handlers in isolated worlds for user gesture generated events should should the same permissions as handlers within the page.");
        runTestInWorld(1, "userGestureEventListener");

        // Click somewhere on the button!
        var testDiv = document.getElementById("test");
        eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5);
        eventSender.mouseDown();
        eventSender.mouseUp();
    }

} else
    document.getElementById("log").innerHTML += "FAIL\n";
</script>
<body onload="runTest()">
    <div id="test"><button id='button1'>Click Me</button></div>
    <div id="log"></div>
</body>
</html>
